home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 101 / CD-ROM 101.iso / compl / maya5ple / Install_MayaPLE5_English.exe / Maya / Data1.cab / updatePanelLayoutFromCurrent < prev    next >
Encoding:
Text File  |  2003-07-17  |  5.7 KB  |  181 lines

  1. // Copyright (C) 1997-2002 Alias|Wavefront,
  2. // a division of Silicon Graphics Limited.
  3. //
  4. // The information in this file is provided for the exclusive use of the
  5. // licensees of Alias|Wavefront.  Such users have the right to use, modify,
  6. // and incorporate this code into other products for purposes authorized
  7. // by the Alias|Wavefront license agreement, without fee.
  8. //
  9. // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  10. // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  11. // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  12. // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  13. // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  14. // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  15. // PERFORMANCE OF THIS SOFTWARE.
  16. //
  17. //
  18. //  Alias|Wavefront Script File
  19. //  MODIFY THIS AT YOUR OWN RISK
  20. //
  21. //  Creation Date:  Feb 20 1997
  22. //  Author:         cdg
  23. //
  24. //  Description:
  25. //      This script will update the specified  panel arrangement to reflect
  26. //        the current state of the panels in the main pane layout ($gMainPane).
  27. //
  28. //  Input Arguments:
  29. //      $whichNamedLayout:  The panel arrangement to be modified.
  30. //
  31. //  Return Value:
  32. //      None.
  33. //
  34. //    Note:
  35. //        None.
  36. // 
  37.  
  38. global proc updatePanelLayoutFromCurrent( string $whichNamedLayout ) {
  39.  
  40.     global string $gMainPane;
  41.  
  42.     string $panelName;
  43.     string $controlName;
  44.     string $label;
  45.     int    $wh[];
  46.     int    $nPanes;
  47.     int       $i,$n;
  48.     int       $exists;
  49.  
  50.     string $buffStr, $buffStr2;;
  51.     string $kCameraFlagStr = "-cam[a-z]*[ ][^ ^;]*";
  52.     string $kFindPerspStr = "-cam `findStartUpCamera persp`";
  53.     string $kFindTopStr = "-cam `findStartUpCamera top`";
  54.     string $kFindSideStr = "-cam `findStartUpCamera side`";
  55.     string $kFindFrontStr = "-cam `findStartUpCamera front`";
  56.  
  57.     string $pCam = `findStartUpCamera persp`;
  58.     string $fCam = `findStartUpCamera front`;
  59.     string $sCam = `findStartUpCamera side`;
  60.     string $tCam = `findStartUpCamera top`;
  61.  
  62.     //  check to make sure the specified arrangement exists
  63.     //
  64.     string $pConfig = `getPanel -cwl $whichNamedLayout`;
  65.     if ($pConfig != "") {
  66.         $exists = true;
  67.     } else {
  68.         $exists = false;
  69.     }
  70.  
  71.  
  72.     if (!$exists) {
  73.         warning ("Panel Arrangement not found: " + $whichNamedLayout);
  74.     } else {
  75.         if (`paneLayout -exists $gMainPane`) {
  76.             $wh = `paneLayout -q -ps $gMainPane`;
  77.             $nPanes = size($wh)/2;
  78.             //
  79.             //  first do config string
  80.             //
  81.             string $configStr = ("global string $gMainPane; paneLayout -e -cn \"" + `paneLayout -q -cn $gMainPane` + "\" ");
  82.             for ($i = 0; $i < $nPanes; $i++) {
  83.                 $j = $i+1;
  84.                 $configStr += ("-ps " + $j + " " + $wh[2*$i] + " " + $wh[2*$i+1] + " ");
  85.             }
  86.             $configStr += "$gMainPane;";
  87.             panelConfiguration -e -cfs $configStr $pConfig;
  88.  
  89.             //
  90.             //  Update the panels
  91.             //
  92.             string $panelType, $panelName, $label, $panelCreate, $panelEdit;
  93.             int    $isFixed[] = `panelConfiguration -q -if $pConfig`;
  94.             int    $nPanels = `panelConfiguration -q -np $pConfig`;
  95.  
  96.             for ($i = 0; $i < $nPanes; $i++) {
  97.                 switch ($i) {
  98.                 case 0:
  99.                     $controlName = `paneLayout -q -p1 $gMainPane`;
  100.                     break;
  101.                 case 1:
  102.                     $controlName = `paneLayout -q -p2 $gMainPane`;
  103.                     break;
  104.                 case 2:
  105.                     $controlName = `paneLayout -q -p3 $gMainPane`;
  106.                     break;
  107.                 case 3:
  108.                     $controlName = `paneLayout -q -p4 $gMainPane`;
  109.                     break;
  110.                 }
  111.  
  112.                 $panelType = "";
  113.                 $panelName = "";
  114.                 $label = "";
  115.                 $panelCreate = "";
  116.                 $panelEdit = "";
  117.                 if ("" != $controlName) {
  118.                     $panelName = `getPanel -containing $controlName`;
  119.                     if ("" != $panelName) {
  120.                         $label = `panel -q -label $panelName`;
  121.                         $panelType = `getPanel -typeOf $panelName`;
  122.                         $panelCreate = `panel -q -cs $panelName`;
  123.                         $panelEdit = `panel -q -es $panelName`;
  124.                     }
  125.  
  126.                     //
  127.                     //  Substitute dynamic camera function for top,persp,front,side panels.
  128.                     //
  129.                     if ("modelPanel" == $panelType) {
  130.                         if ("Persp View" == $label) {
  131.                             if (`modelPanel -q -cam $panelName` == $pCam) {
  132.                                 $buffStr = substitute ($kCameraFlagStr, $panelEdit, $kFindPerspStr);
  133.                                 $buffStr2 = substitute ($kCameraFlagStr, $panelCreate, $kFindPerspStr);
  134.                                 $panelEdit = $buffStr;
  135.                                 $panelCreate = $buffStr2;
  136.                             }
  137.                         } else if ("Top View" == $label) {
  138.                             if (`modelPanel -q -cam $panelName` == $tCam) {
  139.                                 $buffStr = substitute ($kCameraFlagStr, $panelEdit, $kFindTopStr);
  140.                                 $buffStr2 = substitute ($kCameraFlagStr, $panelCreate, $kFindTopStr);
  141.                                 $panelEdit = $buffStr;
  142.                                 $panelCreate = $buffStr2;
  143.                             }
  144.                         } else if ("Side View" == $label) {
  145.                             if (`modelPanel -q -cam $panelName` == $sCam) {
  146.                                 $buffStr = substitute ($kCameraFlagStr, $panelEdit, $kFindSideStr);
  147.                                 $buffStr2 = substitute ($kCameraFlagStr, $panelCreate, $kFindSideStr);
  148.                                 $panelEdit = $buffStr;
  149.                                 $panelCreate = $buffStr2;
  150.                             }
  151.                         } else if ("Front View" == $label) {
  152.                             if (`modelPanel -q -cam $panelName` == $fCam) {
  153.                                 $buffStr = substitute ($kCameraFlagStr, $panelEdit, $kFindFrontStr);
  154.                                 $buffStr2 = substitute ($kCameraFlagStr, $panelCreate, $kFindFrontStr);
  155.                                 $panelEdit = $buffStr;
  156.                                 $panelCreate = $buffStr2;
  157.                             }
  158.                         }
  159.                     }
  160.                 }
  161.  
  162.                 if ($i < $nPanels) {
  163.                     panelConfiguration -e -rp ($i+1) $isFixed[$i] $label $panelType 
  164.                         $panelCreate $panelEdit $pConfig;
  165.                 } else {
  166.                     panelConfiguration -e -ap false $label $panelType 
  167.                         $panelCreate $panelEdit $pConfig;
  168.                 }
  169.             }
  170.  
  171.             // 
  172.             //  Remove any excess panels from the config.
  173.             //
  174.             for (; $i < $nPanels; $i++) {
  175.                 panelConfiguration -e -removeLastPanel $pConfig;
  176.             }
  177.         }
  178.     }
  179. }
  180.  
  181.